package com.sdp.th.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.time.LocalDate;

import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 人员信息
 * </p>
 *
 * @author zsp
 * @since 2025-04-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("th_emp")
public class ThEmp extends Model<ThEmp> {

    private static final long serialVersionUID=1L;

    /**
     * 内码
     */
    @TableId("key_id")
    private String keyId;

    /**
     * 所属公司
     */
    @TableField("org_no")
    private String orgNo;

    /**
     * 所属部门
     */
    @TableField("dept_no")
    private String deptNo;

    /**
     * 账号
     */
    @TableField("account_no")
    private String accountNo;

    /**
     * 工号
     */
    @TableField("emp_no")
    private String empNo;

    /**
     * 姓名
     */
    @TableField("emp_name")
    private String empName;

    /**
     * 手机号码
     */
    @TableField("emp_phone")
    private String empPhone;

    /**
     * 头像
     */
    @TableField("profile_picture")
    private String profilePicture;

    /**
     * 民族
     */
    @TableField("emp_nation")
    private String empNation;

    /**
     * 出生日期
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @TableField("emp_birthday")
    private LocalDate empBirthday;

    /**
     * 婚姻状态
     */
    @TableField("emp_marriage")
    private String empMarriage;

    /**
     * 身份证号
     */
    @TableField("emp_identity")
    private String empIdentity;

    /**
     * 身份证地址
     */
    @TableField("identity_address")
    private String identityAddress;

    /**
     * 现居住地址
     */
    @TableField("live_address")
    private String liveAddress;

    /**
     * 性别
     */
    @TableField("emp_sex")
    private String empSex;

    /**
     * 籍贯
     */
    @TableField("native_place")
    private String nativePlace;

    /**
     * 户口所在地
     */
    @TableField("registered_place")
    private String registeredPlace;

    /**
     * 政治面貌
     */
    @TableField("emp_polity")
    private String empPolity;

    /**
     * 岗位
     */
    @TableField("emp_gw")
    private String empGw;


    @Override
    protected Serializable pkVal() {
        return this.keyId;
    }

}
